#include <vector>
#include <cmath>
#include <lapack.h>
#include <iostream>
using namespace std;
class Function
{
  public:
    virtual double operator()(double _x) = 0;
    virtual double diff(double _x)/// 函数的导数
    {
	return 0;	
    };
    virtual double sdiff(double _x)/// 函数的二次导数
    {
	return 0;	
    };
};

class ppFrom
{
  public:
    ppFrom(vector<double> X,
	   vector<double> Y,
	   string c):
      X(X),
      Y(Y),
      c(c){};
    vector<Function> solve(double a, double b)
	{
	    int n = X.size();
	    vector<double> mu(n), lambda(n);
	    for (int i = 2; i <= n; i++)
		{
		    mu[i] = (X[i] - X[i - 1])/(X[i + 1] - X[i - 1]);
		    lambda[i] = (X[i + 1] - X[i])/(X[i + 1] - X[i - 1]);
		}  
	};    
};
